package com.longway.common.safe;

import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
import com.longway.common.constant.Const;

public class CsrfTokenService {
	
	public static final CsrfTokenService me = new CsrfTokenService();
	
	public void createsCrfToken(Controller c){
		String csrfToken = StrKit.getRandomUUID();
		c.setAttr(Const.CSRF_TOKEN,csrfToken);
		c.setSessionAttr(Const.CSRF_TOKEN,csrfToken);
	}
	
	public boolean validateCsrfToken(Controller c){
		// 请求中的CSRFToken
        String csrfToken = c.getHeader(Const.CSRF_TOKEN);
        if (StrKit.isBlank(csrfToken)) {
            return false;
        }
        String scsrfToken = (String) c.getSessionAttr(Const.CSRF_TOKEN);
        if (StrKit.isBlank(scsrfToken)) {
            return false;
        }
        return csrfToken.equals(scsrfToken);
	}
}